package top.moyel.hmi4k.fetch

import top.moyel.hmi4k.entity.HmiDetail
import top.moyel.hmi4k.entity.HmiDetailReal
import top.moyel.hmi4k.mapstruct.HmiDetailMapStruct

/**
 * Hmi详情获取接口
 *
 * @author moyel
 * @since 1.0.0
 * @create 2021/1/12 11:15
 */
interface IHmiFetch<P> {
    /**
     * 获取HmiDetail列表
     *
     * @param param 参数
     * @return HmiDetail列表
     */
    fun fetch(param: P): List<HmiDetail>

    /**
     * 转换成HmiDetailReal
     *
     * @param hmiDetailList HmiDetail列表
     * @return HmiDetailReal列表
     */
    private fun exchange(hmiDetailList: List<HmiDetail>): List<HmiDetailReal> {
        return hmiDetailList.map { return@map HmiDetailMapStruct.toReal(it) }
    }
}